var login = {
  template: '#loginTemp',
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    login() {
      if (this.username == '') {
        return alert('请输入用户名')
      }
      if (this.password == '') {
        return alert('请输入密码')
      }
      this.$http.post('/login', this._data).then((res) => {
        if (res.body == false) {
          alert('服务器忙，请稍后重试')
        } else if (res.body.err_code == 1) {
          alert('用户名或密码错误')
        } else if (res.body.err_code == 0) {
          alert('登录成功！')
          window.location.href = '/'
        }
      })
    },
    preventDefault(e){    //组织表单默认行为
      e.preventDefault()
    }
  },
}

var register = {
  template: '#registerTemp',
  data() {
    return {
      username: '',
      password: '',
      realname: '',
      email: ''
    }
  },
  methods: {
    register() {
      //检查用户名和密码的格式
      if (this.username == '') {
        return alert('请输入用户名')
      }
      if (this.password == '') {
        return alert('请输入密码')
      }
      if (this.username.length < 6 || this.password.length < 6) {
        return alert('用户名、密码不可小于6位')
      }
      //检查真实姓名格式
      if (this.realname == '') {
        return alert('请输入真实姓名')
      } else if (this.realname.length < 2) {
        return alert('真实姓名不可小于2位')
      }
      //检查邮箱格式
      if (this.email == '') {
        return alert('请输入邮箱')
      } else if (! this.chkEmail(this.email)) {
        return alert('邮箱格式错误')
      }
      //发起POST请求
      this.$http.post('/register', this._data).then((res) => {
        if (res.body == false) {
          alert('服务器忙，请稍后重试')
        } else if (res.body.err_code == 1) {
          alert('用户名已存在')
        } else if (res.body.err_code == 0) {
          alert('注册成功！')
          window.location.href = '/'
        }
      })
    },

    chkEmail(strEmail) {    //检查邮箱格式的方法
      if (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(strEmail)) {
        return true;
      }
      else {
        return false;
      }
    },
    
    preventDefault(e){    //组织表单默认行为
      e.preventDefault()
    }
  },
}

const router = new VueRouter({
  routes: [
    { path: '/', redirect: '/login' },
    { path: '/login', component: login },
    { path: '/register', component: register, props: true }
  ]
})

var vm = new Vue({
  el: "#app",
  data() {
    return {}
  },

  router,

  mounted() {
  },

})